package grouter

import (
	"github.com/gorilla/mux"
	"log"
	"net/http"
)

var ROUTER *mux.Router

// SetRoute 设置路由实例，以供 Name2URL 等函数使用
func SetRoute(r *mux.Router) {
	ROUTER = r
}

// Name2URL 通过路由名称来获取 URL
func Name2URL(routeName string, pairs ...string) string {
	url, err := ROUTER.Get(routeName).URL(pairs...)
	if err != nil {
		log.Fatal(err)
		return ""
	}
	//domain := config.GetString("DOMAIN", "localhost")
	//return domain + "/" + url.String()
	return url.String()
}

// GetRouteVariable 获取 URI 路由参数
func GetRouteVariable(parameterName string, r *http.Request) string {
	vars := mux.Vars(r)
	return vars[parameterName]
}
